name_list = ['TOM', 'Lily', 'ROSE']

# 1、修改指定下标的数据
name_list[0] = 'aaa'
print(name_list)

# 2、逆序 reverse()
list1 = [1, 9, 3, 8, 5, 10, 7]
list1.reverse()
print(list1)
print(list1[::-1])

# 3、sort() 排序：升序 和 降序
# reverse = True 降序；reverse = False 升序（默认）
list1.sort()
print(list1)
list1.sort(reverse=True)
print(list1)

# sort()————永久改变 原列表次序————操作后，没有返回值
list = [98, 78, 69, 54, 93, 87, 87]  # 创造一个数字列表
print(list.sort(reverse=False))  # 改变了次序，但sort()函数没有返回值，结果为：None
print(list)  ##按照数字 升序 排列
list.sort(reverse=True)  ##按数字 降序 排列
print(list)

list = ['python', 'c++', 'java']  # 创造一个 字符串列表
print(list.sort(reverse=False))  # 改变了次序，但sort()函数没有返回值，结果为：None
print(list)  ##按照字母 升序 排列
list.sort(reverse=True)  ##按字母 降序 排列
print(list)

# 4、sorted()————不改变 原列表次序————操作后，返回 改变的 序列
list = [98, 78, 69, 54, 93, 87, 87]  # 创造一个数字列表
print(sorted(list, reverse=False))  # 返回 改变的序列 升序————使用方法也不同
print(list)  # 原来列表不变
list = ['python', 'c++', 'java']  # 创造一个 字符串列表
print(sorted(list, reverse=False))

# 5、一次性改变列表中多个数据
list1 = ["北京", "上海", "广州", "深圳"]
# 一次性，改变列表中的 多个数————无步长，不要求元素个数一致
list1[0:3] = ["通过list2改变了list1中的元素"]
print(list1)

list1[1:] = [True, False, 'hello']
print(list1)

list3 = ["北京", "上海", "广州", "深圳", ';;', 'm']
list4 = [1, 3, 2]
# list3的子列表 变成 list4————有步长，要求元素个数一致
list3[::2] = list4
print(list3)

print("==========================")

# 6、列表的运算
# 列表的加法
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
a += b
print(a)

# 列表自身相乘
a *= 2
print(a)
